package com.study.design.model.behaviorPattern.chainOfResponsibility;

/**
* @Name: Leader
* @Description: 审批领导人抽象类
* @Author: 李超	lc_jack@foxmail.com
* @CreateDate: 2017-2-15 下午3:26:42 
* @Version: V1.0
 */
public abstract class Leader {
	
	protected String name ; //领导名称
	
	protected Leader nextLeader ; //责任链上的后继对象，下一级领导

	public Leader(String name) {
		this.name = name;
	}

	public void setNextLeader(Leader nextLeader) {
		this.nextLeader = nextLeader;
	}
	
	/**
	* @Name: handleRequest
	* @Description: 处理请假请求的核心业务方法，由具体子类实现
	* @Author: 李超	lc_jack@foxmail.com
	* @Version: V1.0
	* @CreateDate: 2017-2-15 下午3:29:55
	* @Parameters: @param request
	* @Return: void
	 */
	public abstract void handleRequest(LeaveRequest request) ;
	
}
